html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td,
figure, figcaption, address {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  overflow-y: scroll;
}

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
  display: block;
  margin: 0;
  padding: 0;
}

table {
  border-spacing: 1px;
  margin: 1rem 0;

  th,
  td {
    vertical-align: middle;
    padding: 0.25rem;
  }
}

caption, th {
  text-align: left;
}

ul, ol {
  list-style: none;
}

a {
  text-decoration: none;
}

a:link, a:visited, a:active {
  -webkit-transition: 0.1s color ease;
  -moz-transition: 0.1s color ease;
  -o-transition: 0.1s color ease;
  transition: 0.1s color ease;
}

a:hover, a:focus {
  cursor: pointer;
  text-decoration: none;
}

input[type="text"],
input[type="password"],
input[type="number"],
input[type="email"],
input[type="tel"],
textarea {
  appearance: none;
  outline: none;
}

@-webkit-keyframes autofill {
  to {
    background: transparent;
  }
}

input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {
  -webkit-animation-name: autofill;
  -webkit-animation-fill-mode: both;
}

svg {
  overflow: auto;
  vertical-align: inherit;
}

img {
  max-width: 100%;
}

* {
  outline: none;
}
